1
00:00:00,390 --> 00:00:02,820
Dalam video ini, kami akan membahas solusi untuk bagian pertama.

2
00:00:05,260 --> 00:00:10,720
Setiap kelas yang memodelkan suatu objek ditempatkan di dalam folder model, dan kelas utama ditempatkan dengan sendirinya.

3
00:00:12,630 --> 00:00:17,880
Kita akan mulai dengan tugas pertama, dan itu adalah menambahkan semua bidang yang diperlukan ke kelas kontak, dan

4
00:00:17,880 --> 00:00:22,140
jika Anda melihat kembali artikel tersebut, kolomnya adalah nama string pribadi.

5
00:00:23,050 --> 00:00:25,150
String pribadi, nomor telepon.

6
00:00:28,140 --> 00:00:30,540
Tanggal lahir string pribadi.

7
00:00:36,200 --> 00:00:38,350
Secara pribadi dan usia.

8
00:00:40,020 --> 00:00:45,840
Dan tugas untuk mengingatkan kita bahwa jika suatu kelas gagal, maka perlu menerapkan tiga langkah besar, yang pertama

9
00:00:45,840 --> 00:00:47,420
langkahnya adalah membuat konstruktor.

10
00:00:47,700 --> 00:00:49,710
Itu hanya akan menerima tiga parameter.

11
00:00:49,710 --> 00:00:50,580
Nama tali.

12
00:00:53,030 --> 00:00:54,260
Rangkaian nomor telepon.

13
00:00:58,930 --> 00:01:00,670
Dan merangkai tanggal lahir.

14
00:01:07,040 --> 00:01:08,350
Dan Anda mungkin berpikir, mengapa tidak?

15
00:01:08,360 --> 00:01:14,480
Meskipun tanggal lahir perlu menentukan usia seseorang secara otomatis, hal ini tidak masuk akal

16
00:01:14,480 --> 00:01:17,990
tanyakan kepada pengguna berapa umurnya jika mereka sudah memberikan tanggal lahirnya kepada Anda.

17
00:01:18,710 --> 00:01:19,130
Baiklah.

18
00:01:19,580 --> 00:01:21,800
Konstruktor berjalan saat Anda membuat objek baru.

19
00:01:21,800 --> 00:01:24,860
Jadi kita akan menetapkan setiap bidang dalam objek itu sama dengan parameter.

20
00:01:25,190 --> 00:01:27,800
Nama bintang, nomor telepon pemberhentian.

21
00:01:30,920 --> 00:01:32,060
Sama dengan nomor telepon.

22
00:01:35,220 --> 00:01:36,990
Dan mereka memulai tanggal lahir.

23
00:01:43,440 --> 00:01:46,290
Oke, jadi bagaimana kita mengetahui umur dari tanggal lahir?

24
00:01:47,100 --> 00:01:50,330
Kembali ke artikel, saya meninggalkan Anda banyak petunjuk tentang cara mencapai hal ini.

25
00:01:50,580 --> 00:01:54,990
Dan langkah pertama adalah membuat objek kelas format tanggal sederhana.

26
00:01:56,330 --> 00:01:57,560
Jadi kami akan mengatakan formatter.

27
00:02:06,480 --> 00:02:10,289
Sama dengan objek baru dari kelas format tanggal sederhana.

28
00:02:14,380 --> 00:02:18,530
Dan di dalamnya, kita harus meneruskan format tanggal yang kita harapkan.

29
00:02:19,090 --> 00:02:22,760
Mereka akan memiliki format bulan, bulan, hari, hari.

30
00:02:23,200 --> 00:02:24,010
Ya ya.

31
00:02:24,010 --> 00:02:24,670
Ya, ya.

32
00:02:26,470 --> 00:02:32,110
Dan pastikan EMS menggunakan huruf besar, karena begitulah cara formatter mengartikan bulan berikutnya

33
00:02:32,110 --> 00:02:37,180
instruksinya adalah penelitian untuk meneruskan intimidasi nilai string, dan saya harap Anda dapat mengetahuinya

34
00:02:37,180 --> 00:02:37,610
itu keluar.

35
00:02:40,670 --> 00:02:43,520
Kita dapat memanggil metode pass dari objek formatter.

36
00:02:49,320 --> 00:02:53,940
Dan yang akan dilakukan adalah menerima nilai pajak dan dari string tersebut, tanggal akan dikembalikan

37
00:02:53,950 --> 00:02:54,600
objek.

38
00:02:58,850 --> 00:03:04,190
Jadi saya akan meneruskan string tanggal lahirnya, dan itu akan mengubah string itu menjadi tanggal sebenarnya

39
00:03:04,190 --> 00:03:05,330
keberatan dan mengembalikannya.

40
00:03:05,780 --> 00:03:09,520
Jadi kita perlu menyimpan nilai kembalian di dalam variabel bertipe tanggal.

41
00:03:13,410 --> 00:03:14,910
Saya akan menyebutnya dua kencan.

42
00:03:16,330 --> 00:03:18,510
Karena kami mengonversi dari string menjadi tanggal.

43
00:03:21,140 --> 00:03:26,300
Oke, sekarang metode pass memunculkan pengecualian yang dicentang, kita tahu ini adalah pengecualian yang dicentang karena Javas

44
00:03:26,300 --> 00:03:27,440
memaksa kita untuk menangkapnya.

45
00:03:29,210 --> 00:03:34,880
Jangan mencoba menangkap kegagalan di dalam konstruktor, siapa pun yang memanggil konstruktor, itu milik mereka

46
00:03:34,880 --> 00:03:36,220
tugas untuk menangani kegagalan tersebut.

47
00:03:36,740 --> 00:03:41,270
Jadi kita akan membuang pengecualian dari konstruktor melempar pengecualian pass.

48
00:03:43,540 --> 00:03:48,490
Sehingga siapa pun yang memanggil konstruktor, mereka akan menangani kegagalannya, kegagalan konstruktor

49
00:03:48,490 --> 00:03:51,250
satu-satunya tugas yang harus dilakukan adalah memperbarui Fields, tidak ada yang lain.

50
00:03:55,120 --> 00:03:59,740
Jadi kembali ke artikel, langkah selanjutnya adalah mengubah setiap tanggal menjadi jumlah milidetik

51
00:03:59,740 --> 00:04:00,880
sejak tahun 1970.

52
00:04:02,580 --> 00:04:08,280
Kita bisa membuka dokumentasi untuk kelas tanggal dan mencari metode yang melakukan ini, saat saya menggulir

53
00:04:08,280 --> 00:04:10,500
turun, Anda akan melihat bahwa banyak metode tidak digunakan lagi.

54
00:04:10,530 --> 00:04:11,520
Itu cukup gila.

55
00:04:12,030 --> 00:04:18,510
Namun yang cukup menarik, yang satu ini mengembalikan jumlah milidetik sejak Januari 1970 ke atas

56
00:04:18,510 --> 00:04:22,280
hingga tanggal yang ditentukan, dan mengembalikannya sebagai log.

57
00:04:22,290 --> 00:04:23,130
Itu sempurna.

58
00:04:31,320 --> 00:04:33,870
Jadi aku harus bicara panjang lebar pada Milli.

59
00:04:36,010 --> 00:04:39,730
Sama dengan saat ini dan dari situ kita akan mendapatkan waktunya.

60
00:04:42,020 --> 00:04:45,320
Jadi baris ini mengubah string menjadi tanggal sebenarnya.

61
00:04:49,210 --> 00:04:53,770
Dan baris ini mengubah tanggal menjadi jumlah milidetik sejak tahun 1970.

62
00:05:00,800 --> 00:05:05,690
Hal terakhir yang ingin saya lakukan adalah mendapatkan tanggal saat ini dan mengubahnya menjadi jumlah milidetik sejak itu

63
00:05:05,690 --> 00:05:11,900
Januari 1970, lalu saya bisa mendapatkan perbedaan antara keduanya dalam milidetik, yang pada dasarnya berjalan lancar

64
00:05:11,900 --> 00:05:17,630
menjadi usia seseorang dalam milidetik, lalu kita dapat dengan mudah mengkonversi dari milidetik ke tahun.

65
00:05:20,670 --> 00:05:22,140
Jadi kita akan mengatakan def panjang.

66
00:05:24,870 --> 00:05:30,870
Kita bisa mendapatkan tanggal hari ini hanya dengan mengucapkan tanggal baru, kita akan mengonversi tanggal saat ini menjadi angka

67
00:05:30,870 --> 00:05:36,930
milidetik sejak tahun 1970 dan dari tanggal hari ini, kita dapat mengurangi tanggal lahir.

68
00:05:39,500 --> 00:05:44,690
Jadi ini adalah jumlah milidetik dari tahun 1970 hingga kelahiran seseorang, dan ini adalah jumlah

69
00:05:44,690 --> 00:05:47,020
milidetik dari tahun 1970 hingga saat ini.

70
00:05:47,360 --> 00:05:50,630
Jadi kematian adalah usia seseorang, tetapi dalam hitungan milidetik.

71
00:05:55,680 --> 00:05:59,380
Namun sebelum kita dapat melanjutkan, saya melakukan semua ini dalam langkah-langkah terpisah untuk memandu Anda melewatinya.

72
00:05:59,610 --> 00:06:00,840
Saya ingin membuat kodenya lebih pendek.

73
00:06:03,240 --> 00:06:04,650
Jadi saya akan menambahkan ini di sini.

74
00:06:10,320 --> 00:06:14,820
Dan sekarang hanya dengan dua baris, kita mendapatkan usia seseorang dalam milidetik dan instruksi selanjutnya

75
00:06:15,060 --> 00:06:19,540
bebas meneliti cara menggunakan kelas satuan waktu untuk mengonversi dari milidetik.

76
00:06:19,740 --> 00:06:20,520
hari ini.

77
00:06:25,950 --> 00:06:28,500
Penelitian Anda akan memiliki satuan waktu junior yang tepat.

78
00:06:33,720 --> 00:06:39,720
Milidetik, dua hari, dan yang akan dilakukan adalah mengambil nilai dalam milidetik, dalam hal ini

79
00:06:39,720 --> 00:06:42,690
kematian, dan mengubahnya menjadi hari.

80
00:06:43,620 --> 00:06:45,930
Jadi sekarang kita akan mendapatkan umur orang tersebut dalam hitungan hari.

81
00:06:47,100 --> 00:06:52,590
Lalu jika kita membagi jumlah hari dengan tiga ratus enam puluh lima, kita akan mendapatkan umur mereka dalam tahun.

82
00:06:57,980 --> 00:07:01,500
Namun umurnya adalah bilangan bulat dan metode dua hari kembali.

83
00:07:01,730 --> 00:07:04,640
Jadi langkah terakhirnya adalah mengetikkan typecast sepanjang ini.

84
00:07:15,220 --> 00:07:20,500
Baiklah, kita akhirnya dapat menguji kode kita di bagian paling atas, pada dasarnya Anda akan melihat model paket baris

85
00:07:20,500 --> 00:07:23,830
memberitahu kita Java, hei, kelas kontak ada di dalam folder terpisah.

86
00:07:24,460 --> 00:07:26,030
Jadi sekarang di dalam Java utama.

87
00:07:26,260 --> 00:07:28,720
Kita dapat mengimpor kelas dari folder model.

88
00:07:34,300 --> 00:07:37,960
Dan kami juga dapat menyelesaikan impor dan kode TV secara otomatis hanya setengah jalan I.

89
00:07:45,020 --> 00:07:49,160
Dan sekarang di dalam metode utama, kita dapat membuat objek baru dari kelas kontak.

90
00:07:50,310 --> 00:07:51,960
Namanya Alan Turing.

91
00:07:57,980 --> 00:08:00,620
Dengan nomor telepon berikut, hanya beberapa nomor acak.

92
00:08:06,130 --> 00:08:07,510
Dan tanggal lahir mereka.

93
00:08:12,920 --> 00:08:17,300
Oke, saya juga akan print objeknya, walaupun kita tidak punya string to, saya biarkan saja

94
00:08:17,300 --> 00:08:17,930
di sini untuk nanti.

95
00:08:19,240 --> 00:08:25,300
Dan di sini kita mendapatkan kesalahan karena konstruktor kontak dapat mengeluarkan pengecualian pass

96
00:08:25,300 --> 00:08:26,470
adalah pengecualian yang dicentang.

97
00:08:26,680 --> 00:08:30,820
Dan jika Anda ingin memanggil konstruktor ini, Jebba memaksa Anda untuk mencoba menjalankan kodenya.

98
00:08:35,289 --> 00:08:38,919
Dan jika kode tersebut gagal, Anda perlu menangkap pengecualian pass.

99
00:08:45,500 --> 00:08:47,710
Dan kami hanya akan mencetak pesan yang keluar darinya.

100
00:08:54,290 --> 00:08:56,570
Lalu kita akan menambahkan blok terakhir, yaitu pangeran.

101
00:08:59,960 --> 00:09:04,880
Proses yang selesai akhirnya selalu menjadi hal terakhir yang dijalankan, apa pun hasilnya.

102
00:09:07,140 --> 00:09:10,260
Baiklah, sekarang saya akan menuju ke break point dan masuk ke konstruktor.

103
00:09:18,880 --> 00:09:21,100
Di sini kita bisa melihat parameter yang diteruskan.

104
00:09:22,140 --> 00:09:28,050
Dan ini menunjuk ke objek saat ini yang baru saja kita buat, nama stok, itulah kolom nama

105
00:09:28,050 --> 00:09:32,970
objek saat ini, sama dengan parameter, pembaruan nomor telepon, bidang nomor telepon,

106
00:09:33,420 --> 00:09:36,090
mereka menghentikan pembaruan tanggal lahir, bidang tanggal lahir.

107
00:09:36,540 --> 00:09:39,330
Dan kita hanya akan melangkahi objek formatter.

108
00:09:39,840 --> 00:09:42,120
Saya akan melangkahi pemanggilan fungsi ini.

109
00:09:42,960 --> 00:09:45,240
Ini adalah usia Alan Turing dalam milidetik.

110
00:09:45,810 --> 00:09:50,210
Dan di baris terakhir ini, ini akan mengubah usia menjadi tahun dan memperbarui bidangnya.

111
00:09:50,820 --> 00:09:54,450
Dan seperti itu, kita membuat objek dari kelas kontak.

112
00:09:55,700 --> 00:10:00,290
Dan jika Anda terus melangkahi penyimpanan variabel kontak, referensi ke objek yang baru saja kita buat.

113
00:10:04,030 --> 00:10:07,810
Dan akhirnya, hal terakhir yang berjalan, apapun hasil dalam kasus ini, kita tahu bahwa

114
00:10:07,810 --> 00:10:09,010
proses selesai.

115
00:10:13,610 --> 00:10:16,660
Sekarang, apa yang terjadi jika saya mengubahnya sebulan sekali, sesuatu yang tidak masuk akal?

116
00:10:18,090 --> 00:10:22,530
Saya berharap fungsi partai tidak dapat meloloskan negara dan memberikan pengecualian.

117
00:10:23,280 --> 00:10:24,780
Saya akan meluncurkan kembali debugger.

118
00:10:38,940 --> 00:10:43,990
Namun sebaliknya, ia salah menafsirkan masukan, tidak masuk akal jika H menjadi negatif.

119
00:10:44,010 --> 00:10:44,730
Itu tidak bagus.

120
00:10:50,280 --> 00:10:55,470
Metode sebelumnya seharusnya memberikan pengecualian, seharusnya tidak dapat melewati status dan

121
00:10:55,470 --> 00:11:00,450
tugasnya bebas untuk meneliti bagaimana menghentikan formatter agar tidak bersikap lunak ketika meneruskan string,

122
00:11:01,230 --> 00:11:04,830
string yang kami lewati dan harus benar-benar mematuhi formatnya.

123
00:11:04,830 --> 00:11:06,570
Bulan, bulan, hari, hari.

124
00:11:06,630 --> 00:11:08,850
Ya ya ya ya yang kami tentukan.

125
00:11:10,310 --> 00:11:15,080
Saya sudah bilang kepada Anda untuk melihat ke dalam dokumentasi untuk mengetahui metode yang menentukan apakah tanggal yang lewat harus berlalu

126
00:11:15,080 --> 00:11:20,330
bersikap lunak, dan saya harap Anda dapat menemukan metode yang lunak, yang mengharapkan boolean.

127
00:11:27,970 --> 00:11:31,480
Dan jika kita kembali ke kode kita, kita akan menetapkan keringanan hukuman menjadi false.

128
00:11:42,430 --> 00:11:47,770
Dan sekarang saya berharap bahwa ini akan benar-benar mematuhi format yang kami Pastan dan tidak akan toleransi

129
00:11:47,770 --> 00:11:48,670
hal lain.

130
00:11:51,590 --> 00:11:52,940
Meluncurkan kembali debugger.

131
00:11:58,340 --> 00:12:01,790
Saya akan terus masuk ke konstruktor sampai kita mencapai fungsi pass.

132
00:12:08,720 --> 00:12:11,020
Yang akan gagal dan memberikan pengecualian pass.

133
00:12:11,940 --> 00:12:14,850
Di sini kita menangkap pengecualian yang dicentang dan mencetak pesannya.

134
00:12:17,850 --> 00:12:23,520
Dalam hal ini, dikatakan bahwa tanggal tersebut tidak dapat dilewati, seperti biasa, akhirnya adalah hal terakhir yang berjalan

135
00:12:23,520 --> 00:12:27,310
dan apakah prosesnya berhasil atau gagal, kita tahu bahwa prosesnya sudah selesai.

136
00:12:27,780 --> 00:12:28,920
Itu saja untuk bagian pertama.


